package com.fira.edu.service;

import java.util.List;
import com.fira.edu.domain.EduClass;
import com.fira.edu.domain.dto.ClassDTO;
import com.fira.edu.domain.dto.QueryClassRollCallDTO;
import com.fira.edu.domain.vo.AddClassVO;
import com.fira.edu.domain.vo.ClassRollCallVO;
import com.fira.edu.domain.vo.ClassVO;

/**
 * 班级信息Service接口
 * 
 * @author zhushuyong
 * @date 2021-10-12
 */
public interface IEduClassService 
{
    /**
     * 查询班级信息
     * 
     * @param id 班级信息ID
     * @return 班级信息
     */
    public EduClass selectEduClassById(String id);

    /**
     * 查询班级信息列表
     * 
     * @param eduClass 班级信息
     * @return 班级信息集合
     */
    public List<EduClass> selectEduClassList(EduClass eduClass);

    /**
     * 新增班级信息
     * 
     * @param classDTO 班级信息
     * @return 结果
     */
    public AddClassVO insertEduClass(ClassDTO classDTO);

    /**
     * 修改班级信息
     * 
     * @param eduClass 班级信息
     * @return 结果
     */
    public int updateEduClass(EduClass eduClass);

    /**
     * 批量删除班级信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteEduClassByIds(String ids);

    /**
     * 删除班级信息信息
     * 
     * @param id 班级信息ID
     * @return 结果
     */
    public int deleteEduClassById(String id);

    /**
     * 小程序-查询租户下的班级列表
     * @param tenantId
     * @return
     */
    List<ClassVO> selectClassInfoList(String tenantId);

    /**
     * 小程序-查询班级上课点名信息
     * @param queryClassRollCallDTO
     * @return
     */
    ClassRollCallVO selectClassRollCall(QueryClassRollCallDTO queryClassRollCallDTO);

    /**
     * 统计当日新开班级数量
     * @return
     */
    Integer selectCountClassOfToday();
}
